+ - * / % ++ -- +=......

运算符一

运算以得到正确的结果

Index

表达式

表达式是一组 运算符 运算数 的组合,用来计算一个值

如下都是表达式:

运算符 是指如 + - * / % ++ --等表示运算规则的符号

运算数 指参加运算的值,可能是常量也可能是变量,还可能是一个函数的返回值

算术运算符

假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符 描述 实例
+ 加法 A + B 将得到 30
- 减法 A - B 将得到 -10
* 乘法 A * B 将得到 200
/ 除法 B / A 将得到 2
% 取余,整除余数,只有整数可以取余 B % A 将得到 0
++ 自增运算符,变量增加 1 A++ 将得到 11
-- 自减运算符,变量减少 1 A-- 将得到 9

自增、自减运算

int a=10;
a++;
cout<<a<<endl;//输出11
++a;
cout<<a<<endl;//输出12
int a=10;
a--;
cout<<a<<endl;//输出9
--a;
cout<<a<<endl;//输出8

自增:

自减:

先后自增自减的区别

int a=10;
cout<<a++<<endl;//输出10,先输出再增加
cout<<a<<endl;//11 a确实是增加了的
int a=10;
cout<<++a<<endl;//输出什么呢?

先自增:

后自增:

先后自减也是一样的,但是要注意:

  • 只有变量能自增自减,而且是整数变量才行
  • a++++不代表自增两次

接下来请完成《课内练习一:自增自减练习》

  • 整除10,100,1000的规律

求整数的各个位数

int a=1234;
cout<<a/10;
cout<<a/100;
cout<<a/1000;

123 4

int a=1234;
cout<<a%10;
cout<<a%100;
cout<<a%1000;

12 34

1 234

123(4)

12(34)

1(234)

  • 取余10,100,1000的规律
  • /10     去掉后1个位
  • /100   去掉后2个位
  • /1000 去掉后3位
  • 保留后1个位  %10
  • 保留后2个位  %100
  • 保留后3位      %1000
  • 整除10,100,1000的规律

求整数的各个位数

int a=1234;
cout<<a/10;
cout<<a/100;
cout<<a/1000;

123 4

int a=1234;
cout<<a%10;
cout<<a%100;
cout<<a%1000;

12 34

1 234

123(4)

12(34)

1(234)

  • 取余10,100,1000的规律
  • /10     去掉后1个位
  • /100   去掉后2个位
  • /1000 去掉后3位
  • 保留后1个位  %10
  • 保留后2个位  %100
  • 保留后3位      %1000
  • /10   去掉后1位
  • /100 去掉后2位

求三位整数的各个位数

  • %10   保留后1位
  • %100 保留后2位

int a=123;

  • 求a的个位:
  • 求a的十位:

 

 

  • 求a的百位:

直接保留后1位

先保留在去除

先去除再保留

a%10

a/10

a%100

%10

/10

123=>12

=>1(2)=>2

1(23)=>23

=>23=>2

直接去掉后2位

a/100

接下来请完成《课内练习二:求各个位数》

  • /10    去掉后1位
  • /100  去掉后2位
  • /1000去掉后3位

求四位整数的各个位数

  • %10    保留后1位
  • %100  保留后2位
  • %1000保留后3位

int a=1234;  都用先去除再保留会简单一点

  • 求a的个位:                                    
  • 求a的十位:
  • 求a的百位:
  • 求a的千位:

a%10

接下来请完成《课内练习三:求四位数各个位数》

a/10%10

a/100%10

a/1000%10

赋值运算

int a=1,b=2;
a=b;
b=b*2+a;
cout<<a<<endl;//输出2
cout<<b<<endl;//输出什么?

特点:

  • a的值会被覆盖
  • b的值不会因为赋值给别人而消失
  • 先计算等号右侧的结果,再赋值给等号左侧的变量

赋值运算符

符号 City
+= C += A 相当于 C = C + A
-= C -= A  相当于 C = C - A
*= C *= A 相当于 C = C * A
/= C /= A  相当于 C = C / A
%= C %= A 相当于 C = C % A

赋值运算符就是将a=a+1; a=a*2;这种语句简写的一种方式而已,有如下这些赋值运算符

C++中引入cmath库后可以使用库中的各种函数

C++自带函数(一)

函数 解释
abs(x) 绝对值 去掉正负号之后的数字
ceil(x) 向上取整 3.111得到4
floor(x) 向下取整 3.999得到3
pow(x,y) 次方 x的y次方
sqrt(x) 开根 求根号x的值
fmod(x,y) 小数取余 x取余x的结果

abs(x) 求整数、小数的绝对值  正数不变,负数变正数

如:abs(-3)        得到 3

        abs(-4.15)  得到 4.15

        abs(4.15)   得到 4.15

abs(x)

注意:

  • abs()里写的为整数时,得到的是整数
  • abs()里写的为小数时,得到的是小数
cout<<abs(5)/2<<endl;//输出2
cout<<abs(5.0)/2;    //输出2.5

接下来请完成《练习四:家的距离》

ceil( ) 求一个小数向上取整的结果,但是返回的是小数

如: ceil(4.99)  得到 5

         ceil(4.11)  得到 5

         ceil(4.0)    得到 4 

         ceil(-3.99) 得到 -3 //向上取整,向大的数取整

只要小数部分不是0,就会向上加1,小数部分归零

ceil( )

cout<<ceil(4.55)/2; //得到5.0/2的结果

floor( ) 求一个小数向下取整的结果,但是返回的是小数

如: floor(4.99)  得到 4

         floor(4.11)  得到 4

         floor(4.0)    得到 4 

         floor(-3.99) 得到 -4 //向下取整,向小的数取整

注意负数时的差别

floor( )

三者都是取整,但是也有区别

ceil( ) floor( ) int( )的差别

ceil( ) floor( ) int( )
含义 向上取整 向下取整 去掉小数
返回类型 小数 小数 整数
对3.4取整 4 3 3
对-3.4取整 -3 -4 -3

接下来请完成《练习五:红包钱给妈妈存》

pow(x,y) 能用来求 x 的 y 次方

比如2的10次方是 10个2相乘 结果是1024

就能用 pow(2,10) 求出来

 

也能求小数的次方 如 pow(1.1,2) =>1.21

返回的都是小数,不管什么输入

pow( )

cout<<pow(2,20);//1.04858e+006
//直接输出的时候 可能会用科学计数法显示

接下来请完成《练习六:次方计算》

sqrt(x) 表示求谁的平方是x的意思

如sqrt(4)      得到2     因为2的平方是4

如sqrt(1.44) 得到1.2 因为1.2的平方是1.44

sqrt( )

返回的都是小数

接下来请完成《练习六:次方计算》

小数不能直接%取余

但是可以这样算

fmod(x,y)

double a=3.5,b=1.1;
cout<<a-int(a/b)*b;

也可以直接用函数计算

double a=3.5,b=1.1;
cout<<fmod(a,b);//输出0.2
全屏模式(F)
演讲者模式(S)
预览模式(O)
黑板模式(B)
当页绘画(C)